assume cs:codesg
data segment
  db '1975','1976','1977','1978','1979','1980','1981','1982','1983'
  db '1984','1985','1986','1987','1988','1989','1990','1991','1992'
  db '1993','1994','1995'

  dd 16,22,382,1356,2390,8000,16000,24486,50065,97479,140417,197514
  dd 345980,590827,803530,1183000,1843000,2759000,3753000,4649000,5937000

  dw 3,7,9,13,28,38,130,220,476,778,1001,1442,2258,2793,4037,5635,8226
  dw 11542,14430,15257,17800
data ends

table segment
  db 21 dup ('year sumn ne ?? ')
table ends

stack segment
  dw 0,0,0,0,0,0,0,0
stack ends

codesg segment
start: mov ax,data
       mov ds,ax
       mov bx,0
       mov ax,stack
       mov ss,ax
       mov cx,15h
       mov bp,0
       mov di,0
s:     push cx
       mov cx,4
       mov si,0
s1:    mov al,ds:[bp+si]
       mov ds:[bx+0e0h+si],al
       inc si
       loop s1

       mov byte ptr ds:[bx+0e0h+4],20h

       mov dx,ds:[bp+0054h+2]
       mov ax,ds:[bp+0054h+0]
       mov ds:[bx+0e0h+7],dx
       mov ds:[bx+0e0h+5],ax

       mov byte ptr ds:[bx+0e0h+9],20h

       mov cx,ds:[di+00a8h]
       mov ds:[bx+0e0h+0ah],cx

       mov byte ptr ds:[bx+0e0h+0ch],20h

       div cx
       mov ds:[bx+0e0h+0dh],ax

       mov byte ptr ds:[bx+0e0h+0fh],20h

       add bx,10h
       add bp,4h
       add di,2h
       pop cx
       loop s

       mov ax,4c00h
       int 21h

codesg ends
end start
